iT邦幫忙

0

Apache 與 Tomcat 簡易介接設定

  • 分享至 

  • xImage
  •  

本文章是以 CentOS 為作業系統進行安裝與操作設定

HTTP Server

安裝 Apache httpd

  1. 使用 CentOS yum 進行 Apache httpdmod_ssl 套件

    yum -y install httpd mod_ssl
    
    • 安裝完成之後,設定設定開機自動啟動 httpd 服務,並啟用該服務
    systemctl enable httpd
    systemctl start httpd
    
  2. 強制使用 https 連線

    • 先設定環境變數 HTTPD 為路徑 /etc/httpd/conf/
    export HTTPD='/etc/httpd/conf/'
    
    • httpd.conf 裡的 Options 設定為 none
    sed -i 's/Options Indexes FollowSymLinks/Options None/' ${HTTPD}httpd.conf
    
    • httpd.conf 裡設定自動轉導加密連線
    cat >> ${HTTPD}httpd.conf << "EOF"
    
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
    EOF
    
    • 取消環境變數設定
    unset HTTPD
    
  3. Apache 設定 ProxyPass 到 Tomcat

    • 編輯 ssl.conf 檔案,檔案路徑為 /etc/httpd/conf.d/ssl.conf,添加 ProxyPass
    </VirtualHost>
    ProxyPass / ajp://localhost:8009/
    ProxyPassReverse / ajp://localhost:8009/
    
    • 在 selinux 開啟允許 HTTPD 腳本及模塊與網絡連線
    setsebool -P httpd_can_network_connect 1
    
    • 重啟 httpd 服務
    systemctl restart httpd.service
    

Tomcat Server

安裝 Tomcat

  1. 安裝 JRE

    yum -y install java-1.8.0-openjdk.x86_64
    
    • 安裝完成後,檢查 JAVA 版本
    java -version
    
    • 如果系統中有多個 java 版本,可用以下指令切換預設使用的版本:
    update-alternatives --config java
    
  2. Tomcat 安裝步驟

    • 從 Tomcat 官網下載所要安裝的版本 tar 檔
    wget -P /opt http://ftp.mirror.tw/pub/apache/tomcat/tomcat-8/v8.5.57/bin/apache-tomcat-8.5.57.tar.gz
    
    • 解壓至想要存放之目錄,筆者放置於 /opt/ 目錄
    tar -zxf /opt/apache-tomcat-8.5.57.tar.gz -C /opt
    
    • 設定軟連結方便以後使用
    ln -s /opt/apache-tomcat-8.5.57 /opt/tomcat
    
    • 創建使用者 tomcat 並指定家目錄為 /opt/tomcat
    useradd -r tomcat -s /sbin/nologin -d /opt/tomcat
    
    • 更改 tomcat 目錄使用者及群組
    chown -Rh tomcat:tomcat /opt/tomcat /opt/apache-tomcat-8.5.57
    
  3. 設定 Tomcat 啟用、關閉調用腳本

    cat > /etc/systemd/system/tomcat.service << "EOF"
    [Unit]
    Description=Tomcat
    After=syslog.target network.target
    
    [Service]
    Type=forking
    
    User=tomcat
    Group=tomcat
    
    Environment="CATALINA_BASE=/opt/tomcat"
    Environment="CATALINA_HOME=/opt/tomcat"
    Environment="CATALINA_PID=/opt/tomcat/tomcat.pid"
    
    ExecStart=/opt/tomcat/bin/startup.sh
    ExecStop=/opt/tomcat/bin/shutdown.sh
    
    [Install]
    WantedBy=multi-user.target
    EOF
    
    • 重新啟動系統服務
    systemctl daemon-reload
    
    • 設定開機啟動 Tomcat 服務
    systemctl enable tomcat.service
    
    • 開啟 Tomcat 服務
    systemctl start tomcat.service
    
4. 編輯 Tomcat 的 `server.xml` 設定檔,筆者檔案路徑為 `/opt/tomcat/conf/server.xml`

   - 將 Tomcat 8080 埠轉 8443 埠註解掉
   ```
   <!-- comment this
   <Connector port="8080" protocol="HTTP/1.1"
        connectionTimeout="20000"
        redirectPort="8443" />
    -->
    ```
    
    - 針對 8009 埠重寫設定
    ```
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" secretRequired="false" />
    ```
    
    - 將 Valve 註解
    ```
    <!-- comment this
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
        prefix="localhost_access_log." suffix=".txt"
        pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    -->
    ```
    
    - 重啟 Tomcat
    ```
    systemctl restart tomcat.service
    ```
    
 5. 本機測試是否能連線成功
    ```
    curl -k https://localhost
    ```

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言